训练分类器
本指南演示如何在 OV80i 摄像头系统上配置和训练分类模型。当您需要根据视觉特征自动将对象分类到不同类别时,请使用此流程。
何时使用分类: 按类型、尺寸、颜色或状态对零件进行分类;识别不同产品变体;多类别质量控制。
先决条件
- 已激活且配置好成像设置的配方
- 模板图像和对齐已完成(或跳过)
- 定义了检测 ROI
- 代表每个待检测类别的样本对象
步骤 1:访问分类模块
1.1 导航至分类
- 点击面包屑菜单中的“Classification Block”,或
- 在导航栏下拉菜单中选择
1.2 验证先决条件
确保以下模块显示绿色状态:
- ✅ 成像设置
- ✅ 模板和对齐(或跳过)
- ✅ 检测设置
步骤 2:创建分类类别
2.1 定义类别
- 点击“Inspection Types”下的
Edit
- 为每个待检测类别添加分类
2.2 配置每个类别
针对每个类别:
- 输入类别名称: 使用描述性名称(例如,“Small”,“Medium”,“Large”)
- 选择类别颜色: 选择不同颜色以便视觉识别
- 添加描述: 可选,填写类别详细信息
- 点击
Save
2.3 类别命名最佳实践
良好名称 | 不佳名称 |
---|---|
Small_Bolt, Medium_Bolt, Large_Bolt | Type1, Type2, Type3 |
Red_Cap, Blue_Cap, Green_Cap | Color1, Color2, Color3 |
Good_Part, Defective_Part | Pass, Fail |
Screw_PhillipsHead, Screw_Flathead | A, B |
步骤 3:采集训练图像
3.1 图像采集流程
每个类别至少采集 5 张图像(推荐 10 张以上):
- 将代表该类别的对象放置在检测区域
- 确认对象位于 ROI 边界内
- 点击
Capture
采集训练图像 - 从下拉菜单选择对应类别
- 点击
Save
保存标记图像 - 对同类别不同样本重复以上步骤
3.2 训练数据要求
类别 | 最少图像数 | 推荐图像数 | 备注 |
---|---|---|---|
每个类别 | 5 | 10-15 | 图像越多,准确率越高 |
总数据集 | 15+ | 30-50+ | 各类别数据均衡 |
边缘案例 | 每类 2-3 | 每类 5+ | 边界样本 |
3.3 训练图像最佳实践
应做:
- 使用类别内不同样本
- 变化对象方向和位置
- 保持良好光照条件
- 包含边缘和临界样本
- 保持 ROI 取景一致
不应做:
- 重复使用相同对象
- 在单个 ROI 中包含多个对象
- 混合类别图像
- 使用模糊或光线不足的图像
- 采集时改变 ROI 大小
3.4 质量控制
采集每张图像后:
- 在预览中检查图像质量
- 确认类别标签正确
- 使用
Delete
按钮删除质量差图像 - 必要时重新采集
步骤 4:配置训练参数
4.1 访问训练设置
- 点击
Train Classification Model
按钮
4.2 选择训练模式
根据需求选择:
训练模式 | 时长 | 准确度 | 适用场景 |
---|---|---|---|
Fast | 2-5 分钟 | 适合测试 | 初步模型验证 |
Balanced | 5-15 分钟 | 生产就绪 | 大多数应用 |
Accurate | 15-30 分钟 | 最高精度 | 关键应用 |
4.3 设置迭代次数
手动设置迭代数:
- 低 (50-100): 快速测试,基础准确度
- 中 (200-500): 生产质量
- 高 (500+): 最高准确度,训练较慢
4.4 高级设置(可选)
批量大小:
- 较小批量: 训练更稳定,速度较慢
- 较大批量: 训练更快,可能不够稳定
学习率:
- 较低值: 更稳定,学习较慢
- 较高值: 学习更快,可能不稳定
建议: 除非有特定性能需求,否则使用默认设置。
步骤 5:开始训练过程
5.1 初始化训练
- 检查训练配置
- 点击
Start Training
- 在训练弹窗中监控进度
5.2 训练进度指标
监控以下指标:
- 当前迭代次数: 训练周期进度
- 训练准确度: 模型在训练数据上的表现
- 预计时间: 剩余训练时间
- 损失值: 模型误差(应随时间下降)
5.3 训练控制
训练过程中可用操作:
- 中止训练: 立即停止训练
- 提前结束: 当前准确度满足时停止
- 延长训练: 如有需要增加迭代次数
5.4 训练完成
训练自动停止条件:
- 达到目标准确度(通常为 95%+)
- 达到最大迭代次数
- 用户手动停止训练
步骤 6:评估模型性能
6.1 审核训练结果
检查最终指标:
- 最终准确度: 生产使用应 >85%
- 训练时长: 记录以备后续参考
- 收敛情况: 确认准确度稳定
6.2 模型质量指标
准确度范围 | 质量等级 | 建议 |
---|---|---|
95%+ | 优秀 | 适合生产使用 |
85-94% | 良好 | 适用于大多数应用 |
75-84% | 一般 | 考虑增加训练数据 |
<75% | 较差 | 需用更多/更好图像重新训练 |
6.3 性能不佳排查
问题 | 可能原因 | 解决方案 |
---|---|---|
准确度低 (<75%) | 训练数据不足 | 添加更多标记图像 |
训练无提升 | 图像质量差 | 改善光照和对焦 |
类别混淆 | 物体外观相似 | 添加更多区分样本 |
过拟合 | 每类图像过少 | 平衡各类别数据 |
步骤 7:测试分类性能
7.1 实时测试
- 点击
Live Preview
进入实时测试 - 将测试对象放入检测区域
- 观察分类结果:
- 预测类别名称
- 置信度百分比
- 处理时间
7.2 验证测试
系统化验证流程:
测试对象 | 预期类别 | 实际结果 | 置信度 | 通过/失败 |
---|---|---|---|---|
已知类别 A 对象 | 类别 A | _____ | ____% | ☐ |
已知类别 B 对象 | 类别 B | _____ | ____% | ☐ |
边界样本 | 类别 A 或 B | _____ | ____% | ☐ |
未知对象 | 低置信度 | _____ | ____% | ☐ |
7.3 性能验证
确认以下方面:
- 准确度: 已知对象分类正确
- 置信度: 明确样本置信度高 (>80%)
- 一致性: 同一对象结果可重复
- 速度: 处理时间符合应用需求
步骤 8:模型优化
8.1 性能不理想时
迭代改进流程:
- 识别问题区域:
- 哪些类别混淆?
- 哪些对象被误分类?
- 置信度是否合理?
- 添加针对性训练数据:
- 更多混淆类别样本
- 边缘和临界样本
- 不同光照/位置条件
- 重新训练模型:
- 选择“Accurate”模式以提升性能
- 增加迭代次数
- 监控准确度提升
8.2 高级优化
针对关键应用:
- 数据增强: 使用多样光照和位置
- 迁移学习: 从相似训练模型开始
- 集成方法: 组合多个模型
- 定期重训: 用新生产数据更新
步骤 9:完成配置
9.1 保存模型
- 确认性能满意
- 训练完成后模型自动保存
- 记录模型版本以备文档
9.2 文档记录
记录以下内容:
- 训练日期和版本
- 每类图像数量
- 训练模式和迭代次数
- 最终准确度
- 任何特殊说明
9.3 备份配置
- 导出配方备份
- 如需,单独保存训练图像
- 记录模型参数
成功!您的分类器已准备就绪
您训练好的分类模型现可:
- 自动将对象分类到定义类别
- 提供每次预测的置信度分数
- 实时处理图像,适合生产使用
- 与 I/O 逻辑集成,实现自动决策
持续维护
定期模型更新
- 监控性能变化
- 根据需要添加新训练数据
- 定期重新训练以保持准确度
- 更新类别以适应新产品变体
性能监控
- 跟踪生产中的准确度指标
- 识别模型性能漂移
- 根据性能下降安排重训
后续步骤
训练分类器后:
- 配置 I/O 逻辑实现合格/不合格判定
- 在 IO Block 中设置生产工作流
- 端到端测试完整检测系统
- 部署至生产环境
常见陷阱
陷阱 | 影响 | 预防措施 |
---|---|---|
训练数据不足 | 准确度低 | 每类使用 10+ 张图像 |
类别不平衡 | 预测偏差 | 各类别图像数量均衡 |
图像质量差 | 结果不稳定 | 优化光照和对焦 |
类别定义过于相似 | 分类混淆 | 选择明显区分的类别 |
无验证测试 | 生产失败 | 始终使用未见对象测试 |